import abc
import pathlib


class Agent(metaclass=abc.ABCMeta):

    @abc.abstractmethod
    def run(self):
        pass

    @staticmethod
    def list_data(data_dir):

        train_image_root = pathlib.Path(data_dir)
        train_image_paths = list(train_image_root.glob('*'))
        train_image_paths = [str(path) for path in train_image_paths]
        return train_image_paths